#include "serverHilo.h"
#include <iostream>
Hilo::Hilo() {
	threadId = NULL;
	corriendo = false;
	activo = false;
}

Hilo::~Hilo() {
	pthread_exit(NULL);
}

pthread_t Hilo::getHilo() const {
	return threadId;
}

void Hilo::run() {
	corriendo = true;
	activo = true;
	pthread_create(&threadId, NULL, funcionAEjecutar, this);
}

void *Hilo::funcionAEjecutar(void *datos) {
	Hilo *h = (Hilo*) datos;
	h->ejecutar();
	return NULL;
}

void Hilo::stop() {
	corriendo = false;
	activo = false;
}

bool Hilo::estaCorriendo() {
    return this->corriendo;
}

void Hilo::unir() {
	pthread_join(threadId, NULL);
}

bool Hilo::estaActivo() const {
	return activo;
}

void Hilo::setActividad(bool actividad) {
	this->activo = actividad;
}
